home *** CD-ROM | disk | FTP | other *** search
/ World of Education / World of Education.iso / world_f / fdplot.zip / STAT.BAS < prev    next >
BASIC Source File  |  1992-01-02  |  2KB  |  59 lines

  1. 100 'Abri Technologies, Inc., Cacapon, WV 25422 - LR/Stat program - (C) 1991.
  2. 130 'X-Y stat program. Finds mean, SD, and least squares line fit
  3. 140 'for a set of data.
  4. 150 DIM DATX(100),DATY(100)
  5. 160 'print title, enter data sets
  6. 170 PRINT "X-Y data set least squares fit - paired sample statistics."
  7. 300 PRINT:PRINT
  8. 310 PRINT" Enter data-set in pairs of numbers, X,Y."
  9. 320 PRINT" Signal end of data with @,@ entry.":PRINT
  10. 330 A$=" ":B$=" ":J=0
  11. 340 WHILE A$<>"@"
  12. 350   J=J+1
  13. 360   PRINT " X";RIGHT$(STR$(J),1);",";"Y";RIGHT$(STR$(J),1);" ";
  14. 370   INPUT A$,B$
  15. 380   IF A$="@" THEN 400
  16. 390     DATX(J)=VAL(A$):DATY(J) =VAL(B$)
  17. 400 WEND
  18. 410 DTSN=J-1
  19. 420 IF J=0 THEN CHAIN "MENU"
  20. 440 REM End data def/entry
  21. 450 'Begin stat calcs.
  22. 455 MIN=1E+38:MAX=1E-38
  23. 460 FOR J=1 TO DTSN
  24. 465   IF DATX(J)<MIN THEN MIN=DATX(J)
  25. 466   IF DATX(J)>MAX THEN MAX=DATX(J)
  26. 470   XB=XB+DATX(J):YB=YB+DATY(J)
  27. 480   X2B=X2B+DATX(J)^2:Y2B=Y2B+DATY(J)^2
  28. 490   XYB=XYB+DATX(J)*DATY(J)
  29. 500 NEXT J
  30. 510 XB=XB/DTSN:YB=YB/DTSN
  31. 520 X2B=X2B/DTSN:Y2B=Y2B/DTSN
  32. 530 XYB=XYB/DTSN
  33. 540 SDX=SQR(X2B-XB*XB)
  34. 550 SDY=SQR(Y2B-YB*YB)
  35. 555 CF=SQR(DTSN/(DTSN-1.)):SDX1=SDX*CF:SDY1=SDY*CF'<-SD N-1
  36. 557 VARX=SDX1^2:VARY=SDY1^2
  37. 558 M=(XYB-XB*YB)/SDX^2
  38. 560 B=YB-M*XB
  39. 565 CORL=M*SDX/SDY
  40. 570 COV=CORL*SDX1*SDY1
  41. 640 '
  42. 690   PRINT : PRINT : ' Print stat. results.
  43. 695   PRINT"             Mean           SD            Variance"
  44. 696   PRINT"       ┌─────────────────────────────────────────────┐"
  45. 700   PRINT TAB(5)"X: │";TAB(11)XB;TAB(26)SDX1;TAB(41)VARX;TAB(54)"│"
  46. 705   PRINT TAB(5)"Y: │";TAB(11)YB;TAB(26)SDY1;TAB(41)VARY;TAB(54)"│"
  47. 706   PRINT"       └─────────────────────────────────────────────┘"
  48. 710   PRINT TAB(12)"Covariance:";TAB(37)COV
  49. 715   PRINT TAB(12)"Correlation:";TAB(37)CORL
  50. 718   PRINT TAB(12)"Lin. Reg. slope:";TAB(37)M
  51. 720   PRINT TAB(12)"Lin. Reg. intercept:";TAB(37)B
  52. 750 PRINT:PRINT
  53. 760 INPUT"              Press ─┘ for MENU";C$
  54. 770 CHAIN "MENU"
  55. 795 END
  56. 8000 A$=INKEY$:IF (A$="") GOTO 8000
  57. 8010 IF (ASC(A$)> 96) THEN A$=CHR$(ASC(A$)-32)
  58. 8020 PRINT A$: RETURN
  59.